home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-02 / prodpack.zip / DB4PPSAM.EXE / BDCEDIT.PRG < prev    next >
Text File  |  1993-05-11  |  3KB  |  118 lines

  1. FUNCTION BDCEdit
  2. PARAMETERS pcName
  3.   PRIVATE nBar, cFileLst
  4.  
  5.   IF TYPE( "aClkObj[1,1]" ) = "N"
  6.     PRIVATE cFileLst, cAlias
  7.     cAlias = ALIAS()
  8.     SET EXACT ON
  9.  
  10.     DO CASE
  11.       CASE pcName = "BT_EDIT"
  12.         cFileLst = TRIM( SUBSTR( CD_LIST_1, 2 ) )
  13.  
  14.       CASE pcName = "BT_EDITCF"
  15.         cFileLst = TRIM( CD_FILE_1 )
  16.         IF AT( ".", cFileLst ) = 0
  17.           cFileLst = cFileLst + ".CFG"
  18.         ENDIF
  19.  
  20.     ENDCASE
  21.  
  22.     *-----------------------------
  23.     *-- Check for DBEDIT.EXE first
  24.     *-----------------------------
  25.     IF FILE( "DBEDIT.EXE" )
  26.       DO BDCSavScr
  27.       ! dBEdit &cFileLst 2 5 12 74
  28.       DO BDCRstScr
  29.     ELSE
  30.       cExe = HOME() + "DBEDIT.EXE"
  31.       IF FILE( cExe )
  32.         DO BDCSavScr
  33.         ! &cExe. &cFileLst 2 5 12 74
  34.         DO BDCRstScr
  35.       ELSE
  36.         COPY FILE TEXTDBF.BIN TO TEXT.DBF
  37.         COPY FILE TEXTDBT.BIN TO TEXT.DBT
  38.         SET CURSOR ON
  39.         KEYBOARD [{Ctrl-Home}]
  40.         IF FILE( cFileLst )
  41.           KEYBOARD [{Ctrl-K}R] + cFileLst + CHR(13)
  42.         ENDIF
  43.         SELECT SELECT()
  44.         USE Text NOSAVE
  45.         APPEND BLANK
  46.         IF NETWORK()
  47.           DO WHILE .NOT. RLOCK()
  48.           ENDDO
  49.         ENDIF
  50.         SET COLOR OF TITLES TO W+/W
  51.         DEFINE WINDOW Edit FROM 2,5 TO 12, 74 DOUBLE COLOR w+/w
  52.         ACTIVATE WINDOW Edit
  53.         @ 0,0 SAY [Press the Enter key after editing list] ;
  54.               COLOR n/w
  55.         @ 1,0 GET text WINDOW Edit ;
  56.               COLOR n/w
  57.         READ
  58.         RELEASE WINDOW Edit
  59.  
  60.         IF .NOT. ISBLANK( text )
  61.           COPY MEMO text TO (cFileLst)
  62.         ENDIF
  63.         IF NETWORK()
  64.           UNLOCK
  65.         ENDIF
  66.         USE
  67.  
  68.         IF .NOT. ISBLANK( cAlias )
  69.           SELECT ( cAlias )
  70.         ENDIF
  71.       ENDIF
  72.     ENDIF
  73.  
  74.     SET COLOR OF TITLES TO N+/BG
  75.     SET CURSOR OFF
  76.  
  77.     IF pcName = "BT_EDITCF"
  78.       IF FILE( cFileLst )
  79.         l = BDCFill( pcName )
  80.       ENDIF
  81.     ENDIF
  82.   ENDIF
  83. RETURN .T.
  84.  
  85. PROCEDURE BDCSavScr
  86. *----------------------------------------------------------------------------
  87. * NAME
  88. *   BDCSavScr - Save screen before running DBEDIT.EXE
  89. *
  90. *----------------------------------------------------------------------------
  91.   SAVE SCREEN TO ed
  92.   SET CURSOR ON
  93.   SET CONSOLE OFF
  94.   IF .NOT. ISBLANK( WINDOW() )
  95.     KEYBOARD [ ]
  96.   ENDIF
  97.  
  98. RETURN
  99. *-- EOP: BDCSavScr
  100.  
  101.  
  102. PROCEDURE BDCRstScr
  103. *----------------------------------------------------------------------------
  104. * NAME
  105. *   BDCRstScr - Restore screen after running DBEDIT.EXE
  106. *
  107. *----------------------------------------------------------------------------
  108.  
  109.   RESTORE SCREEN FROM ed
  110.   RELEASE SCREEN ed
  111.   SET CURSOR ON
  112.  
  113. RETURN
  114. *-- EOP: BDCRstScr
  115.  
  116.  
  117.  
  118.